package cn.cjxy.springboot_zonghe_practice.mapper;

import cn.cjxy.springboot_zonghe_practice.domain.Dept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface DeptMapper {
    //新增没有返回值
    void addDept(Dept dept);

    void updateDept(Dept dept);

    void delDeptById(Long id);
    
    Dept selectById(Long id);
    
    List<Dept> selectAll();

    Integer selectDeptNameCount(String deptName);

    Integer selectDeptNameAndNotIdCount(String deptName, Long id);
    Integer selectDeptManagerIdAndNotIdCount(Long managerId, Long id);
    Integer selectDeptManagerIdCount(Long id);
    
    // 分页查询部门
    List<Dept> selectDeptByPage(@Param("start") int start, @Param("pageSize") int pageSize);
    
    // 查询部门总数
    Integer selectDeptCount();
    
    // 批量添加部门
    int batchAddDept(List<Dept> depts);
    
    // 批量删除部门
    int batchDeleteDept(List<Long> ids);

    Dept selectDeptByName(String deptName);
}